The development of processors enabling high-speed arithmetic processing has been actively promoted. A processor mounted on an information processing apparatus that performs high-performance calculation adopts various techniques for increasing the speed of arithmetic processing. As a technique for increasing the speed of the arithmetic processing by performing a plurality of kinds of processing in parallel, there is a single instruction multiple data (SIMD) processing system for simultaneously executing the same arithmetic processing on a plurality of data in parallel with one command.
An SIMD processor includes a plurality of SIMD arithmetic elements and executes one command on a plurality of data in parallel. In particular, in processors in recent years, the number of SIMD arithmetic elements tends to be increased for a further increase in speed.
In the case of simple processing that includes decoding one command, inputting processing target data of the command to the plurality of SIMD arithmetic elements, and performing arithmetic processing of the data in parallel, the SIMD processor attains high-speed arithmetic processing by performing decoding of a single command and parallel arithmetic processing of a plurality of data. The SIMD is disclosed in Japanese Laid-open Patent Publication No. 2002-229962.
However, when the simple processing is not performed, for example, when an arithmetic results generated by the SIMD arithmetic elements is subjected to arithmetic processing by other SIMD arithmetic elements, exchange and distribution of data among the SIMD arithmetic elements need to be performed. The efficiency of the arithmetic processing is sometimes decreased. Therefore, an inter-element arithmetic circuit that performs data exchange and the like among the plurality of SIMD arithmetic elements is demanded.
However, according to an increase in SIMD width of the SIMD processor, a large number of SIMD arithmetic elements such as four, eight, or sixteen SIMD arithmetic elements are mounted on an integrated circuit substrate of an arithmetic processing apparatus. Therefore, in the inter-element arithmetic circuit, data wiring needs to be provided in a wide range on the integrated circuit substrate. Therefore, the circuit size of the inter-element arithmetic circuit increases.